FindFile - Vylucovacia maska

Otázka od: Martin Kasman

7. 1. 2004 11:17

Ako by sa dala spravit vylucovacia maska pri FindFile (FindFirst, FindNext)
?
Napriklad chcem masku *.* mimo *.txt. Stacil by mi aj pomocny algoritmus,
ktory by dosiahol rovnaku funkciu.

Vdaka za kazdu radu



Odpovedá: Ondrej Kelle

7. 1. 2004 11:33

> Ako by sa dala spravit vylucovacia maska pri FindFile
> (FindFirst, FindNext) ?

Zial, FindFirst/FindNext (resp. FindFirstFile/FindNextFile) to nepodporuju.

> Napriklad chcem masku *.* mimo *.txt. Stacil by mi aj pomocny
> algoritmus, ktory by dosiahol rovnaku funkciu.

V tom pripade pouzi *.*, v slucke s FindNext si kontroluj mena najdenych
suborov a spracuj len tie, ktore nemaju priponu .txt.

HTH
TOndrej

Odpovedá: Martin Kasman

7. 1. 2004 13:46

Dobre, ale ked uzivatel bude mat masku *.* mimo a*.b? uz bude zlozite to
osetrit cez bezny algoritmus. Neexistuje nejaka moznost porovnat, ci najdeny
subor vyhovuje uzivatelom zadanej maske? Napriklad
VyhovujeMaske(NazovSuboru; Maska: String): Boolean


----- Original Message -----
From: "Ondrej Kelle" <o.kelle@digitalpublishing.de>
Subject: Re: FindFile - Vylucovacia maska


> > Napriklad chcem masku *.* mimo *.txt. Stacil by mi aj pomocny
> > algoritmus, ktory by dosiahol rovnaku funkciu.
>
> V tom pripade pouzi *.*, v slucke s FindNext si kontroluj mena najdenych
> suborov a spracuj len tie, ktore nemaju priponu .txt.


Odpovedá: Ales Vasicek

7. 1. 2004 13:43

Ahoj,

podivej se na fci MatchesMask z unity Masks.

Ales

> -----Original Message-----
> From: Martin Kasman [mailto:martinkasman@martinkasman.sk]
>
> osetrit cez bezny algoritmus. Neexistuje nejaka moznost
> porovnat, ci najdeny
> subor vyhovuje uzivatelom zadanej maske? Napriklad
> VyhovujeMaske(NazovSuboru; Maska: String): Boolean


Odpovedá: Burkovsky Ladislav

7. 1. 2004 14:10

Vysledy testuj regexp-om.


Dobre, ale ked uzivatel bude mat masku *.* mimo a*.b? uz bude zlozite to
osetrit cez bezny algoritmus. Neexistuje nejaka moznost porovnat, ci najdeny
subor vyhovuje uzivatelom zadanej maske? Napriklad
VyhovujeMaske(NazovSuboru; Maska: String): Boolean

> > Napriklad chcem masku *.* mimo *.txt. Stacil by mi aj pomocny
> > algoritmus, ktory by dosiahol rovnaku funkciu.
>
> V tom pripade pouzi *.*, v slucke s FindNext si kontroluj mena najdenych
> suborov a spracuj len tie, ktore nemaju priponu .txt.



Odpovedá: Ondrej Kelle

7. 1. 2004 14:14

> Dobre, ale ked uzivatel bude mat masku *.* mimo a*.b? uz bude
> zlozite to osetrit cez bezny algoritmus. Neexistuje nejaka moznost
> porovnat, ci najdeny subor vyhovuje uzivatelom zadanej maske?
> Napriklad VyhovujeMaske(NazovSuboru; Maska: String): Boolean

function MatchesMask(const Filename, Mask: string): Boolean;

v unite Masks  

HTH
TOndrej

Odpovedá: Martin Schayna

7. 1. 2004 14:02

Martin Kasman <martinkasman@martinkasman.sk> wrote:
> Dobre, ale ked uzivatel bude mat masku *.* mimo a*.b? uz bude zlozite
> to osetrit cez bezny algoritmus. Neexistuje nejaka moznost porovnat,
> ci najdeny subor vyhovuje uzivatelom zadanej maske? Napriklad
> VyhovujeMaske(NazovSuboru; Maska: String): Boolean

muzes pouzit funkci z unity Masks
function MatchesMask(const Filename, Mask: string): Boolean;

Martin Schayna


Odpovedá: Jiri Cincura

8. 1. 2004 21:24

Martin Kasman wrote:
> Dobre, ale ked uzivatel bude mat masku *.* mimo a*.b? uz bude zlozite
> to osetrit cez bezny algoritmus. Neexistuje nejaka moznost porovnat,
> ci najdeny subor vyhovuje uzivatelom zadanej maske? Napriklad
> VyhovujeMaske(NazovSuboru; Maska: String): Boolean
>
>
> ----- Original Message -----
> From: "Ondrej Kelle" <o.kelle@digitalpublishing.de>
> Subject: Re: FindFile - Vylucovacia maska
>
>
>>> Napriklad chcem masku *.* mimo *.txt. Stacil by mi aj pomocny
>>> algoritmus, ktory by dosiahol rovnaku funkciu.
>>
>> V tom pripade pouzi *.*, v slucke s FindNext si kontroluj mena
>> najdenych suborov a spracuj len tie, ktore nemaju priponu .txt.

A co to udelat tak, ze mas dva TSearchRec a v jednom mas *.* a v druhem
a*.b?. Pak jen prohledas prvni a kdyz najdes neco co je i v druhem, vyhodis
to.

Nejni to asi nejlepsi, ale sezere to de facto jakoukoli exclude masku.

Jiri Cincura
e-mail: mailto:jiri@cincura.net; mailto:xcincura@informatics.muni.cz
web: www.cincura.net